package mylab.demo.usm.biz.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import mylab.annotation.rds.ColumnComment;
import mylab.base.model.entity.LongIdEntity;
import mylab.commons.api.enums.Gender;
import mylab.commons.web.mvc.entity.BaseEntity;
import mylab.starters.mybatis.handler.BaseEnumTypeHandler;

@Getter
@Setter
@ApiModel("用户与第三方帐号绑定表")
@TableName(autoResultMap = true)
public class SysUserBinding extends BaseEntity {

    @ColumnComment("用户id")
    @ApiModelProperty(value = "用户id")
    @TableField
    private String userId;

    @ColumnComment("第三方平台id")
    @ApiModelProperty(value = "第三方平台id")
    @TableField
    private String platformId;

    @ColumnComment("第三方平台用户id")
    @ApiModelProperty(value = "第三方平台用户id")
    @TableField
    private String uid;

    @ColumnComment("用户名")
    @ApiModelProperty(value = "用户名")
    @TableField
    private String username;

    @ColumnComment("用户昵称")
    @ApiModelProperty(value = "用户昵称")
    @TableField
    private String nickname;

    @ColumnComment("性别")
    @ApiModelProperty(value = "性别")
    @TableField(typeHandler = BaseEnumTypeHandler.class)
    private Gender gender;

    @ColumnComment("用户头像")
    @ApiModelProperty(value = "用户头像")
    @TableField
    private String avatar;

    @ColumnComment("用户邮箱")
    @ApiModelProperty(value = "用户邮箱")
    @TableField
    private String email;

    @ColumnComment("用户个人介绍")
    @ApiModelProperty(value = "用户个人介绍")
    @TableField
    private String remark;

    @ColumnComment("第三方平台返回的原始用户信息")
    @ApiModelProperty(value = "第三方平台返回的原始用户信息")
    @TableField
    private String rawUserInfo;

}
